///////////////////////////////////////////////////////////////////////
//
// NO_Type.h
//
///////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////
#ifndef NO_TypeList_INFO_H
#define NO_TypeList_INFO_H

///////////////////////////////////////////////////////////////////////
#include "NO_Includes.h"

//////////////////////////////////////////////////////////////////////////
// class NO_ObjectList definition
//////////////////////////////////////////////////////////////////////////
class NO_DLL_TAL NO_TypeList
{
public:
	//////////////////////////////////////////////////////////////////////////
	typedef std::vector<const NO_Type*> List;
	typedef List::const_iterator		ListIter;

	//////////////////////////////////////////////////////////////////////////
	NO_TypeList& operator<<(const NO_Type& obj);

	//////////////////////////////////////////////////////////////////////////
	NO_UInt32 getID(void) const;

	//////////////////////////////////////////////////////////////////////////
	List list;
	static NO_TypeList empty;
};

#endif